<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        console.log(a);
        var a = 10;
        // var a = 10; // 变量提升，将声明变量的代码提前到作用域的最前面，类似：var a; a=10;
        // ======= 暂时性死区  =======
        let name = 'tom';
        if (true) {
            // 在代码块中使用let声明变量后，它所声明的变量就“绑定”（binding）这个区域，不再受外部的影响。
            // console.log(name);
            let name = 'Tony'
        }
        function aaa() {
            var sss = 5678;
        }
        var tmp = new Date();

        function f() {
            console.log(tmp);
            if (false) {
                var tmp = 'hello world';
            }
        }
        f();
        
    </script>
</body>

</html>